package com.woniu.book.domain;



import java.io.Serializable;

import java.util.Date;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Table;


/**
* 公寓预订表
* @TableName tb_booking
*/

@Table(name = "tb_booking")
public class Booking implements Serializable {

    /**
    * id预订主键
    */

    @ApiModelProperty("id预订主键")
    private Long id;
    /**
    * 客户主键
    */
    @ApiModelProperty("客户主键")
    private Integer customerId;
    /**
    * 房间主键
    */
    @ApiModelProperty("房间主键")
    private Integer roomId;
    /**
    * 房间编号
    */
    @ApiModelProperty("房间编号")
    private String roomNo;
    /**
    * 订单状态1-待付款 2-已付款 3-超时未付款取消
    */
    @ApiModelProperty("订单状态1-待付款 2-已付款 3-超时未付款取消")
    private Integer bookStatus;
    /**
    * 床位id
    */
    @ApiModelProperty("床位id")
    private Integer bedId;
    /**
    * 床位号
    */

    @ApiModelProperty("床位号")
    private String bedNo;
    /**
    * 公寓主键
    */
    @ApiModelProperty("公寓主键")
    private Integer apartmentId;
    /**
    * 公寓名称
    */

    @ApiModelProperty("公寓名称")
    private String apartmentName;
    /**
    * 房型id
    */
    @ApiModelProperty("房型id")
    private Integer layoutId;
    /**
    * 房型名称
    */
    @ApiModelProperty("房型名称")
    private String layoutName;
    /**
    * 入住客户姓名
    */

    @ApiModelProperty("入住客户姓名")
    private String clientName;
    /**
    * 入住客户国籍
    */
    @ApiModelProperty("入住客户国籍")
    private Integer clientNationality;
    /**
    * 入住客户的护照
    */

    @ApiModelProperty("入住客户的护照")

    private String clientPassportNo;
    /**
    * 入住客户的email
    */

    @ApiModelProperty("入住客户的email")

    private String clientEmail;
    /**
    * 开始入住时间
    */
    @ApiModelProperty("开始入住时间")
    private Date startDate;
    /**
    * 预订周数
    */
    @ApiModelProperty("预订周数")
    private Integer duration;
    /**
    * 押金
    */
    @ApiModelProperty("押金")
    private BigDecimal deposit;
    /**
    * 折扣前订单总额
    */
    @ApiModelProperty("折扣前订单总额")
    private BigDecimal totalPay;

    private Integer payType;

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    /**
    * 折扣金额
    */
    @ApiModelProperty("折扣金额")
    private BigDecimal discountAmount;
    /**
    * 实际支付金额
    */
    @ApiModelProperty("实际支付金额")
    private BigDecimal realPay;
    /**
    * 使用的优惠券id
    */
    @ApiModelProperty("使用的优惠券id")
    private Integer couponId;
    /**
    * 订单生成时间
    */
    @ApiModelProperty("订单生成时间")
    private Date bookingCreatetime;
    /**
    * 是否显示在我的预定列表中 1-是 0-否
    */
    @ApiModelProperty("是否显示在我的预定列表中 1-是 0-否")
    private Integer showFlag;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    public Integer getRoomId() {
        return roomId;
    }

    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }

    public String getRoomNo() {
        return roomNo;
    }

    public void setRoomNo(String roomNo) {
        this.roomNo = roomNo;
    }

    public Integer getBookStatus() {
        return bookStatus;
    }

    public void setBookStatus(Integer bookStatus) {
        this.bookStatus = bookStatus;
    }

    public Integer getBedId() {
        return bedId;
    }

    public void setBedId(Integer bedId) {
        this.bedId = bedId;
    }

    public String getBedNo() {
        return bedNo;
    }

    public void setBedNo(String bedNo) {
        this.bedNo = bedNo;
    }

    public Integer getApartmentId() {
        return apartmentId;
    }

    public void setApartmentId(Integer apartmentId) {
        this.apartmentId = apartmentId;
    }

    public String getApartmentName() {
        return apartmentName;
    }

    public void setApartmentName(String apartmentName) {
        this.apartmentName = apartmentName;
    }

    public Integer getLayoutId() {
        return layoutId;
    }

    public void setLayoutId(Integer layoutId) {
        this.layoutId = layoutId;
    }

    public String getLayoutName() {
        return layoutName;
    }

    public void setLayoutName(String layoutName) {
        this.layoutName = layoutName;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public Integer getClientNationality() {
        return clientNationality;
    }

    public void setClientNationality(Integer clientNationality) {
        this.clientNationality = clientNationality;
    }

    public String getClientPassportNo() {
        return clientPassportNo;
    }

    public void setClientPassportNo(String clientPassportNo) {
        this.clientPassportNo = clientPassportNo;
    }

    public String getClientEmail() {
        return clientEmail;
    }

    public void setClientEmail(String clientEmail) {
        this.clientEmail = clientEmail;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public BigDecimal getTotalPay() {
        return totalPay;
    }

    public void setTotalPay(BigDecimal totalPay) {
        this.totalPay = totalPay;
    }

    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }

    public BigDecimal getRealPay() {
        return realPay;
    }

    public void setRealPay(BigDecimal realPay) {
        this.realPay = realPay;
    }

    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }

    public Date getBookingCreatetime() {
        return bookingCreatetime;
    }

    public void setBookingCreatetime(Date bookingCreatetime) {
        this.bookingCreatetime = bookingCreatetime;
    }

    public Integer getShowFlag() {
        return showFlag;
    }

    public void setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
    }
}
